1. Field of the Invention
The present invention relates to a data storage array apparatus which is formed by arranging a plurality of data storage parts, a method of controlling access to a data storage array apparatus, and a program and a medium for a data storage array apparatus.
2. Related Art of the Invention
A data storage array apparatus which is formed by arranging a plurality of data storage parts has been developed over recent years for an improved reliability and put into an actual use. In general, hard disk devices are used as the data storage parts, and such a data storage array apparatus is often called xe2x80x9ca disk array devicexe2x80x9d or xe2x80x9cRAID (Redundant Arrays of Inexpensive Disks).xe2x80x9d
In the following, a conventional data storage array apparatus will be described with reference to associated drawings. This is the xe2x80x9cserver system which stores and supplies dataxe2x80x9d described in Japanese Patent Application Laid-Open Gazette No. 9-26854. The entire disclosure of Japanese Patent Application Laid-Open Gazette No. 9-26854 are incorporated herein by reference in its entirety.
FIG. 6 is a configuration diagram of a conventional server system, and FIG. 7 is a flow chart showing operations in the conventional server system.
As shown in FIG. 6, k+1 pieces of disk drives 50 are connected to a buffer memory 51, and the buffer memory 51 is connected to a control unit 52 and a reconstruction unit 53. The first one through the k-th one store video data, while the k+1-th one stores parity data. The disk drives 50 are hard disk devices.
Shown in FIG. 6 is a server device which transmits video data, and basic operations are as described below.
For reading data, a read instruction is queued in each disk drive 50. The control part 52 identifies, out of the k pieces of disk drives 50 holding chunks of data which express video and a title, one disk drive 50 which holds the longest queue. When the length of the longest queue exceeds a predetermined value, data are read out from other disk drive and also from the k+1-th disk drive which holds parity instead of reading from this disk drive.
The chunk of data which are to be read but failed to be read out from the disk drive from is reconstructed by the reconstruction unit 53 using an error correction coding scheme.
In this manner, it is possible to bypass the most crowded disk drive without temporarily using the most crowded disk drive.
FIG. 7 shows this in the form of a flow chart.
K pieces of disk drives are read when the longest queue (QLlong) is smaller than a predetermined value QL(k+1)+TH. Otherwise, the reconstruction mentioned above is carried out.
As the longest queue is avoided, it is possible to avoid temporary confusion. Further, a new demand is not added to the longest queue, and therefore, a possibility of such temporary confusion is reduced remarkably low.
In short, how much the disk drives can be crowded is managed by means of queues. When a queue in a certain disk drive is long and the length of the queue is equal to or more than the predetermined value, reading from this disk drive is not performed.
However, controlling by means of the statuses of the queues regarding issuance of instruction, the configuration described above has the following problem.
That is, after receiving an instruction, a disk drive transmits data in a certain predetermined period of time. If this delay is approximately constant, the length of a queue regarding issuance of instruction, i.e., the queue being long or short, corresponds to the speed of a response time, i.e., an increased response time or a shortened response time, without any problem.
However, a characteristic of a disk drive is that a response is sometimes extremely slow. For instance, while a usual response is from 50 up to 100 ms, a response may be as extremely slow as 1 sec or more.
In other words, with only information which tells whether an instruction queue is long or short, it is not possible to accurately determine whether a response time increases or decreases.
Further, in the conventional configuration, a condition of an operation that data are restored avoiding a long queue is called xe2x80x9cdegenerationxe2x80x9d during which data can not be restored if a disk drive other than a bypassed disk drive described above has a breakdown.
For a better reliability, therefore, degeneration should be avoided as much as possible. Despite this, the conventional configuration tends to invoke degeneration.
Accordingly, in view of the problems with the conventional techniques, the present invention aims to provide a data storage array apparatus which bears a low probability of invoking degeneration, a method of controlling access to such a data storage array apparatus, and a program and a medium for a data storage array apparatus.
One aspect of the present invention is a data storage array apparatus which comprises a plurality of data storage parts which store transferred data in accordance with a predetermined rule, an access issuance part, a group response monitoring part, an access response part, a continuous response monitoring part and an array operation control part, comprising:
said access issuance part, by means of a predetermined algorithm, groups first access requests from a sender of said data into a group which includes second access requests directed to said more than one data storage parts, treats said group as a second access requesting group; and issues said second access requests included in said second access requesting group to said data storage parts based on access issuance control provided to said data storage parts by said array operation control part,
said group response monitoring part individually manages each said second access requesting group, monitors processing responses, in said data storage parts, of said second access requesting group until said second access requesting group satisfies a predetermined condition, and issues a notice of completion of monitoring when said condition is satisfied,
said access response part notifies said sender of said data of completion of accessing in response to a predetermined situation,
said continuous response monitoring part classifies, for each data storage part, said second access requests of said second access requesting group which were met with no processing response from the data storage parts and further continuously monitors whether there are corresponding processing responses based on said notice of completion of monitoring thus issued, and issues a result of the monitoring as continuous response monitoring information,
said array operation control part provides access issuance control for said data storage parts to said access issuance part based on said continuous response monitoring information thus issued, so that an operation mode of said data storage array apparatus as a whole is controlled.
Another aspect of the present invention is the data storage array apparatus, wherein said access response part notifies said sender of said data of completion of accessing based on said notice of completion of monitoring from said group response monitoring part.
Still another aspect of the present invention is the data storage array apparatus, wherein said access response part notifies said sender of said data of completion of accessing based on a notice of issuance from said access issuance part.
Yet still another aspect of the present invention is the data storage array apparatus, wherein during reading, based on said notice of completion of monitoring from said group response monitoring part, said access response part restores, using redundancy, data (1) for which there was no processing response, in said data storage parts, of said second access requesting group, or (2) for which there was an error response, or (3) for which issuance of second access requests were suppressed in said access issuance part, and said access response part notifies said sender of said data of completion of accessing.
Still yet another aspect of the present invention is a data storage array apparatus which comprises a plurality of data storage parts which store transferred data in accordance with a predetermined rule, an access issuance part, a group response monitoring part, an access error storage part, an access response part, a continuous response monitoring part and an array operation control part, comprising:
said access issuance part, by means of a predetermined algorithm, groups first access requests from a sender of said data into a group which includes second access requests to said more than one data storage parts, treats said group as a second access requesting group, and issues said second access requests included in said second access requesting group to said data storage parts based on access issuance control provided to said data storage parts by said array operation control part and based on a content in said access error storage part which stores an error status of a previously issued external access,
said group response monitoring part individually manages each said second access requesting group, monitors processing responses in said data storage parts directed to said second access requesting group until said second access requesting group satisfies a predetermined condition, and issues a notice of completion of monitoring when said condition is satisfied,
said access error storage part registers, based on said notice of completion of monitoring thus issued, accesses (1) for which there was no processing response, in said data storage parts, of said second access requesting group or for which there was an error response, or (2) for which issuance of second access requests were suppressed in said access issuance part,
said access response part notifies said sender of said data of completion of accessing in response to a predetermined situation,
said continuous response monitoring part classifies, for each data storage part, said second access requests of said second access requesting group which were met with no processing response from the data storage parts and further continuously monitors whether there are corresponding processing responses based on said notice of completion of monitoring thus issued, and issues a result of the monitoring as continuous response monitoring information,
said array operation control part provides access issuance control for said data storage parts to said access issuance part based on said continuous response monitoring information thus issued, so that an operation mode of said data storage array apparatus as a whole is controlled.
A further aspect of the present invention is the data storage array apparatus, wherein said access response part notifies said sender of said data of completion of accessing based on said notice of completion of monitoring from said group response monitoring part.
A still further aspect of the present invention is the data storage array apparatus, wherein said access response part notifies said sender of said data of completion of accessing based on a notice of issuance from said access issuance part.
A yet further aspect of the present invention is the data storage array apparatus, wherein there are as many said continuous response monitoring parts as said data storage parts.
A still yet further aspect of the present invention is the data storage array apparatus, wherein said array operation control part investigates, based on said continuous response monitoring information from said continuous response monitoring part, the number of said second access requests to which processing has not completed, and when this number reaches or exceeds a certain number, said array operation control part prohibits issuance of said second access requests to corresponding ones of said data storage parts.
An additional aspect of the present invention is the data storage array apparatus, wherein said array operation control part stores the number of times said continuous response monitoring part has executed continuous response monitoring, and when this number reaches or exceeds a certain number, said array operation control part shifts said data storage array apparatus into an operation of degeneration.
A still additional aspect of the present invention is the data storage array apparatus, wherein said array operation control part, after prohibiting issuance of said second access requests, shifts the entire operation of said data storage array apparatus into an operation of temporary degeneration,
and said temporary degeneration is an operation that issuance of said second access requests directed to one or more of said data storage parts which form said data storage array apparatus is temporarily suppressed, and with respect to an access occurring during this, access data are restored utilizing a redundant configuration.
A yet additional aspect of the present invention is the data storage array apparatus, wherein said array operation control part investigates, based on said continuous response monitoring information from said continuous response monitoring part, the number of said second access requests to which processing has not completed, and when this number is equal to or smaller than a certain number, said array operation control part lifts the prohibition of issuance of said second access requests to corresponding ones of said data storage parts.
A still yet additional aspect of the present invention is the data storage array apparatus, wherein said array operation control part, after resolving the prohibition of issuance of said second access requests, shifts the entire operation of said data storage array apparatus from temporary degeneration into normal or partial reconstruction,
and an operation of said partial reconstruction is an operation of adding redundancy of data to writing which occurs during said temporary degeneration.
A supplementary aspect of the present invention is the data storage array apparatus, wherein when recognizing based on said continuous response monitoring information that said second access requests under monitoring are not completed yet even after a predetermined period of time, said array operation control part prohibits issuance of said second access requests to corresponding ones of said data storage parts and issues a reset command or a cancel command to corresponding ones of said data storage parts.
A still supplementary aspect of the present invention is the data storage array apparatus, wherein when said array operation control part issues said reset command, said array operation control part lifts the prohibition of issuance of said second access requests to corresponding ones of said data storage parts upon normal completion of said reset command and shifts the entire operation of said data storage array apparatus from temporary degeneration into normal or partial reconstruction.
A yet supplementary aspect of the present invention is the data storage array apparatus, wherein after said array operation control part issues said reset command, if said reset command ends abnormally, said array operation control part issues said reset command once again to corresponding ones of said data storage parts.
A still yet supplementary aspect of the present invention is the data storage array apparatus, wherein the number of times that said array operation control part has issued said reset command is stored, and when this number becomes a certain number or larger, said data storage array apparatus is shifted into an operation of degeneration from an operation of temporary degeneration.
Another aspect of the present invention is the data storage array apparatus, wherein said array operation control part recognizes based on said continuous response monitoring information a response which indicates that said second access requests under monitoring have completed during said predetermined period of time, and if these requests are writing, said array operation control part deletes corresponding requests from said access error storage part.
Still another aspect of the present invention is the data storage array apparatus, wherein said predetermined condition is satisfied (1) when Nxe2x88x921 pieces of said second access requests are met with responses which indicate completion of processing in the case that there are N pieces of said second access requests included in said second access requesting group, or (2) when a predetermined period of time has elapsed after issuance of said second access requests which are included in said second access requesting group.
Yet still another aspect of the present invention is a method of controlling access to a data storage array apparatus which comprises a plurality of data storage parts which divide predetermined data and store as data having a redundant configuration, comprising:
an access issuing step of creating and issuing a plurality of second access requests which respectively correspond to said data storage parts based on a predetermined algorithm in response to a first access request;
a monitoring step of monitoring whether processing corresponding to said second access requests thus issued have completed during a predetermined period of time and issuing a result of monitoring; and
a decision step of deciding, based on information included in said result of monitoring thus issued regarding the number of said accesses which have not completed yet, whether to newly issue second access requests at said access issuing step.
Still yet another aspect of the present invention is the method of controlling access to a data storage array apparatus, comprising a historical information holding step of holding historical information, which indicates whether said accesses have been processed normally in said data storage parts, for each one of said data storage parts,
wherein at said decision step, said decision is made considering said historical information as well which is held at said historical information holding step.
A further aspect of the present invention is a program for making a computer function as all or part of said parts except for said data storage parts of the data storage array apparatus.
A still further aspect of the present invention is a program for making a computer execute all or part of said steps of the method of controlling access to a data storage array apparatus.
A yet further aspect of the present invention is a medium which can be read on a computer and holds a program and/or data for making a computer execute the functions of all or part of said parts except for said data storage parts of the data storage array apparatus.
A still yet further aspect of the present invention is a medium which can be read on a computer and holds a program and/or data for making a computer execute the operations at all or part of said steps of the method of controlling access to a data storage array apparatus.